%change the main color of the navigation and title bars to a redish color.
\documentclass[yellow]{beamer}	
%include packages
\usepackage{colortbl}
\usepackage{beamerthemeshadow}
\usepackage{pgf,pgfarrows,pgfnodes}
\usepackage{beamerthemesplit}
\usepackage{xcolor}
\usepackage{graphicx}

%install white as the average background color
\beamersetaveragebackground{white!90!yellow}
%install shading background color
\beamertemplateshadingbackground{blue!5}{brown!10}
%install color for covered text in overlays
\beamertemplatetransparentcoveredhigh
% insert iitb logo
\pgfdeclareimage[height=1cm]{logo}{iitblogo}
\logo{\pgfuseimage{logo}}


\usefoottemplate{\vbox{%
\tinycolouredline{structure!25}%
  {\color{white}\textbf{\insertshortauthor\hfill%
       \insertshortinstitute}}%
            \tinycolouredline{structure}%
                   {\color{white}\textbf{\insertshorttitle}\hfill}%
                          }}

\newcommand{\newfrm}[2]{
  \frame{ \frametitle{#1}
           #2}}

\newcommand{\newvfrm}[2]{
  \frame[containsverbatim]{
   \frametitle{#1} #2}}


\title{On-line Help system to complement the HowTo's and Man pages}
\author{Srikanth.M~~~Gautam Solanki~~~Giri Prasad}
\institute[Indian Institute Of Technology Bombay]{Department of Computer Science}
\date{\today}
\begin{document}
\frame{\titlepage}
\section*{Outline}
\frame{
	\begin{itemize}
	\item{\textbf{\color{red}Introduction}}
	\item{\textbf{\color{red}Existing online Help systems, their Features and Limitations}} 
	\item{\textbf{\color{red}Our proposed idea}}
	\item{\textbf{\color{red}Design}}
	\item{\textbf{\color{red}Plan of Implementation}}
	\item{\textbf{\color{red}Conclusion}}
	\end{itemize}
}
	
\section*{Introduction}
\frame{
	\frametitle{Introduction}
	\begin{itemize}
	\item{One of the biggest challenges faced by a new linux user is the sheer number of programs and commands available at the command line}
	\item{Linux documentation can be found in man pages, info files, HowTos and FAQs}
	\item{Man pages belonging to software are usually distributed together with those software}
	\end{itemize}
}

\section*{Existing online Help systems, their Features and Limitations}
\subsection{Example 1}
\frame{
	\frametitle{Existing online Help systems, their features and Limitations}
	\begin{center}
	System provided by linuxdevcenter\\
	(http://www.linuxdevcenter.com/linux/cmd/)\\
	
	\vspace{10pt}	

	\scalebox{.5}{\includegraphics{pic1.jpg}}
	\end{center}
}

\frame{
	\frametitle{Limitations}
	\begin{itemize}
	\item{No searching facility(of commands) available}
	\item{No filtering facility is available}
	\item{No upload facility available}
	\item{No way of postig questions}
	\item{All the Help files are clustered in a single section}
	\end{itemize}
}

\subsection{Example 2}
\frame{
        \frametitle{Existing online Help systems, their features and Limitations}
	\begin{center}
        System provided by www.man.he.net\\
        (http://www.man.he.net/)\\

	\vspace{10pt}	

        \scalebox{.3}{\includegraphics{pic2.jpg}}
	\end{center}
}
\frame{
        \frametitle{Features}
        \begin{itemize}
	\item{Commands are classified into sections based on the type of command}
	\item{Man pages are available in HTML format}
        \item{Search facility is also available}
        \item{User can also search into sepcific sections available}
	\item{User can browse into specific sections}
        \end{itemize}
}

\frame{
        \frametitle{Limitations}
        \begin{itemize}
        \item{Section-name doesn't convey any information about the type of commands stored in that section}
        \item{It lacks other formats such as pdf,ps etc}
        \item{Search does not support wild card characters}
	\item{No upload facility available}
        \item{No way of postig questions}
        \end{itemize}
}

\subsection{Example 3}

\frame{
        \frametitle{Existing online Help systems, their features and Limitations}
	\begin{center}
        System provided by www.man.linuxquestions.org\\
        (http://man.linuxquestions.org)\\

	\vspace{10pt}	

        \scalebox{.3}{\includegraphics{pic3.jpg}}
	\end{center}
}

\frame{
        \frametitle{Features}
        \begin{itemize}
        \item{All the features of second example}
        \item{Section name conveys information about the type of the commands in that section}
	\item{Man pages are provided together with search-form}
	\item{Man pages are available in Plain text,Pdf,Ps,HTML format}
        \end{itemize}
}
\frame{
        \frametitle{Limitations}
        \begin{itemize}
        \item{Search does not support wild card characters}
        \item{No upload facility(of man pages) available}
        \end{itemize}
}

\section*{Our proposed idea}
\frame{
	\frametitle{Our proposed idea}
	\begin{itemize}[<+->]
	\item{Provide man pages and linux-HowTos.}
	\\- man pages are provided in html(default), ps and pdf formats.
	\item{lists each file as well as subdirectories as links in browser}
	\item{Alphabetical indexing of available man pages}
	\item{User can download all the required directories(in compressed format).}
	\item{Provide Search facility}
	\\-search supports wildcard characters
	\item{Provide Open discussions}
	\item{Uploading of new man pages}
	\end{itemize}
}
\section*{Design and Implementation}
\subsection{Modules}
\frame{
        \frametitle{Design and Implementation}
	\begin{center}
	Block Diagram \\

	\vspace{10pt}
	
	\scalebox{.4}{\includegraphics{b_dia.png}}
        \end{center}
	
}

\frame{
	\frametitle{Design and Implementation}
	\begin{itemize}[<+->]
	\item{Parsing Engine}
	\\- Converting man pages into Specific HTML Format
	\item{Frontend Design}
	\\- Interface to the user
	\item{Search Module}
	\\- Search the required Help file and display it in the browser
	\item{Parser to convert HTML Help files into Pdf and ps format}
	\end{itemize}

}

\subsection{Flow chart}
\frame{
        \frametitle{Design and Implementation}
        \begin{center}
        Flow chart\\ 
	
	\vspace{10pt}
	
        \scalebox{.2}{\includegraphics{block.png}}
        \end{center}

}

\subsection{How does Parsing Engine work?}

\frame{
        \frametitle{Parsing Engine}
	\begin{itemize}
	\item{The parsing engine takes man pages as its input and converts them into HTML Format}
	\item{These HTML pages uses only H1, B, Pre, P, HTML tags}
	\item{All the Parsed files(converted into HTML format) will be stored in Alphabetical order}
	\end{itemize}
	\begin{pgfpicture}{0cm}{0cm}{5cm}{5cm}
	\pgfnodebox{node1}[stroke]{\pgfxy(1,3)}{Help Files}{10pt}{25pt}
	\pgfnodebox{node2}[stroke]{\pgfxy(5,3)}{Parse Engine}{10pt}{25pt}
	\pgfnodebox{node3}[stroke]{\pgfxy(9,3)}{Parsed Help Files}{10pt}{25pt}
	\pgfnodesetsepstart{0pt}
	\pgfnodesetsepend{5pt}
	\pgfsetendarrow{\pgfarrowto}
	\pgfnodeconnline{node1}{node2}
	\pgfnodeconnline{node2}{node3}
	\end{pgfpicture}
}
\frame{
        \frametitle{Parsing Engine}
	\begin{tabular}{|c|c|} \hline
	\rowcolor{magenta}{\textbf{Original Tag }} & \textbf{{Transformed Tag(HTML)}} \\\hline
	\textcolor{green}{.\ comment} & \textcolor{green}{$<$!comment$>$} \\\hline
	\textcolor{brown}{.TH header} & \textcolor{brown}{$<$TITLE$>$header$<$/TITLE$>$} \\\hline
	\textcolor{green}{.SH text} & \textcolor{green}{$<$BR$>$$<$B$>$text$<$/B$>$} \\\hline
	\textcolor{brown}{.B text} & \textcolor{brown}{$<$B$>$text$<$/B$>$} \\\hline
	\textcolor{green}{.fI} & \textcolor{green}{$<$U$>$text$<$/U$>$ }\\\hline
	\textcolor{brown}{.br} & \textcolor{brown}{$<$BR$>$} \\\hline
	\textcolor{green}{.PP or .IP or .TP} & \textcolor{green}{ $<$P$>$} \\\hline	
	\end{tabular}
}
\subsection{Search Module Description}
\frame{
	\frametitle{Search Module}
	\begin{itemize}
	\item{Wildcard characters can be used for searching}
	\item{Search will be Fast}
	\item{Output will be available in HTML(default), Pdf and Ps formats}
	\end{itemize}
}	

\subsection{Backend Structure}

\frame{
	\frametitle{Backend Strcture}
	\begin{center}
	\scalebox{.5}{\includegraphics{dig2.png}}
	\end{center}
}
\frame{
	\frametitle{Backend Strcture}
	Three seperate directories are maintained
	\begin{itemize}
	\item{For Storing all the Help files, parsed by Parse Engine}
	\item{For storing all the uploaded Help files, after checking them}
	\item{For storing all the Uploading Help files}
	\end{itemize}
}



\frame{
	\frametitle{Parser for parsing the uploaded Help files}
	\begin{pgfpicture}{0cm}{0cm}{5cm}{5cm}
        \pgfnodebox{node1}[stroke]{\pgfxy(2,2)}{Uploaded Help Files}{10pt}{25pt}
        \pgfnodebox{node2}[stroke]{\pgfxy(6,2)}{Parser}{10pt}{25pt}
        \pgfnodebox{node3}[stroke]{\pgfxy(10,4)}{store}{10pt}{25pt}
        \pgfnodebox{node4}[stroke]{\pgfxy(10,1)}{Discard}{10pt}{25pt}
	\pgfputlabelrotated{.75}{\pgfxy(3,2)}{\pgfxy(10,4)}{5pt}{\pgfbox[center,base]{yes}}
	\pgfputlabelrotated{.75}{\pgfxy(3,2)}{\pgfxy(10,1)}{5pt}{\pgfbox[center,base]{No}}
        \pgfnodesetsepstart{0pt}
        \pgfnodesetsepend{5pt}
        \pgfsetendarrow{\pgfarrowto}
        \pgfnodeconnline{node1}{node2}
        \pgfnodeconnline{node2}{node3}
        \pgfnodeconnline{node2}{node4}
        \end{pgfpicture}
}

\frame{
	\frametitle{Module for converting HTML files into Pdf/Ps format}	
	\begin{center}
	User wants ouput in HTML Format\\

	\vspace{10pt}

        \scalebox{.5}{\includegraphics{dig3.png}}
        \end{center}
}
	
\frame{
        \frametitle{Module for converting HTML files into Pdf/Ps format}
        \begin{center}
        User wants ouput in Pdf/Ps Format
        \scalebox{.4}{\includegraphics{dig4.png}}
        \end{center}
}
\section{Conclusion}
\frame{
	\frametitle{Conclusion}
	\begin{itemize}[<+->]
	\item This entire system tries to solve one issue, it should enable the new user the ability to get up and running in the shortest amount of time possible.
	\item This on-line Help system is protable across all networks connections and it does not need any particular configuration to operate.
	\item Parsing engine is designed with an eye towards an extremely small footprint.
	\end{itemize}	
\end{document}
